Multiplicidad
La multiplicidad en UML especifica el número mínimo y máximo de instancias de un elemento que pueden participar en una relación con otro elemento (OMG, 2017, sección 7.5.3).
Notación
La multiplicidad se representa como un intervalo de valores enteros no negativos:
Formato | Ejemplos |
---|---|
mínimo..máximo |
- 0..1 : Cero o una instancia.- 1..* : Una o más instancias.- * : Equivalente a 0..* (cero o más).- 3 : Exactamente tres instancias. |
Aplicaciones de la Multiplicidad
La multiplicidad se utiliza en tres contextos principales:
1. Asociaciones
Define cuántas instancias de una clase (clasificador) pueden vincularse con instancias de otra.
Figura
Multiplicidad en Asociaciones entre Clasificadores
Nota: Esto se interpreta como:
- Un
Estudiante
puede matricularse en cero o másCursos
. - Un
Curso
puede tener uno o másEstudiantes
.
2. Atributos
Especifica cuantos valores puede tener un atributo
Figura
Multiplicidad en Atributos
Nota: Esto se interpreta como:
nombre
debe tener exactamente un valor.códigosDeBarras
puede tener uno o más valores.
2. Parámetros
Indica cuantos argumentos puede recibir un parámetro en una operación
Figura
Multiplicidad en Parámetros
Nota: Esto se interpreta como:
destinatarios
requiere al menos unUsuario
.contenido
debe ser una cadena única.
Casos Especiales
Multiplicidad | Descripción | Ejemplo de Uso |
---|---|---|
0..1 |
Opcional: Cero o una instancia. | Un empleado puede tener 0 o 1 jefe. |
1 |
Obligatorio: Exactamente una instancia. | Una orden debe tener un cliente. |
* |
Ilimitado: Cero o más instancias. | Un blog puede tener muchos posts. |
2..4 |
Rango específico: Entre dos y cuatro instancias. | Un equipo de fútbol tiene 11 jugadores. |
Buenas Prácticas
Algunas recomendaciones:
Buena Práctica | |
---|---|
Evitar Redundancia | No usar 1..1 ; en su lugar, usar 1 . |
Consistencia con el Dominio | Asegurar que las multiplicidades reflejen reglas del negocio (ejemplo: una reserva debe tener un cliente). |
Restricciones Adicionales | Usar notas para aclarar restricciones complejas (ejemplo: "Solo una instancia activa al mismo tiempo"). |